package com.gitee.wsl.css.selector


internal enum class SelectorType {
    /**
     * The universal selector.
     * <pre class="example">
     * *
    </pre> *
     *
     * @see ElementSelector
     */
    UNIVERSAL,

    /**
     * This is a conditional selector.
     *
     *
     * Example:
     *
     *
     * <pre class="example">
     * simple[role="private"]
     * .part1
     * H1#myId
     * P:lang(fr).p1
    </pre> *
     *
     * @see ConditionalSelector
     */
    CONDITIONAL,

    /**
     * This selector matches only element node.
     *
     *
     * Example:
     *
     *
     * <pre class="example">
     * H1
     * animate
    </pre> *
     *
     * @see ElementSelector
     */
    ELEMENT,

    /**
     * This selector matches an arbitrary descendant of some ancestor element.
     *
     *
     * Example:
     *
     *
     * <pre class="example">
     * E F
    </pre> *
     *
     * @see CombinatorSelector
     */
    DESCENDANT,

    /**
     * This selector matches a childhood relationship between two elements.
     *
     *
     * Example:
     *
     *
     * <pre class="example">
     * E &gt; F
    </pre> *
     *
     * @see CombinatorSelector
     */
    CHILD,

    /**
     * This selector matches two selectors who shared the same parent in the
     * document tree and the element represented by the first sequence immediately
     * precedes the element represented by the second one.
     *
     *
     * Example:
     *
     *
     * <pre class="example">
     * E + F
    </pre> *
     *
     * @see CombinatorSelector
     */
    DIRECT_ADJACENT,

    /**
     * <pre class="example">
     * E ~ F
    </pre> *
     *
     * @see CombinatorSelector
     */
    SUBSEQUENT_SIBLING,

    /**
     * <pre class="example">
     * E || F
    </pre> *
     *
     * @see CombinatorSelector
     */
    COLUMN_COMBINATOR,

    /**
     * Scope pseudo-selector in selector arguments.
     *
     *
     * Scope should be applied where this pseudo-selector is found.
     *
     *
     *
     * This selector has no serialization.
     *
     *
     * @see Condition.ConditionType.SELECTOR_ARGUMENT
     */
    SCOPE_MARKER
}